#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "LadderLog.h"

int check_string() {
    LADDER_START();
    
    FUN_LADDER_LOG_INFO("检查字符串正确性");
    // printf("sayHello\n");

    LADDER_END();
}

int sayHello() {
    LADDER_START();

    FUN_LADDER_LOG_INFO("打印 sayHello");

        LADDER_START();

            LADDER_LOG_DEBUG("准备检查字符串");
                check_string();
            LADDER_LOG_DEBUG("检查字符串完成");

        LADDER_END();

    LADDER_END();
}

int	main(int argc, char **argv)
{
    printf("Hello World\n");
    INFO_LOG("无函数打印Test");
    INFO_LOG("%s: 有函数打印 Test", __FUNCTION__);

    printf("--------------------------------\n");
    LADDER_LOG("无函数LADDER打印, 但前面会有个:号，用于区分单层次级");
    LADDER_START();
    LADDER_LOG_WARNING("无函数LADDER打印, 但前面会有个:号，用于区分单层次级");
    LADDER_END();

    printf("--------------------------------\n");

    FUN_LADDER_LOG("有函数LADDER打印，用于区分函数调用层级");
    LADDER_START();
    FUN_LADDER_LOG_ERROR("有函数LADDER打印，用于区分函数调用层级");
    LADDER_END();

    printf("--------------------------------\n");

    FUN_LADDER_LOG_INFO("Test");
    sayHello();
    FUN_LADDER_LOG_INFO("Test");
    // LADDER_START();
    // LADDER_END();
    return 0;
}
